///////////////////////////////////////////////////////////////////////////////
//
//
//
///////////////////////////////////////////////////////////////////////////////

package model.vo
{

    [Bindable]

/**
 *  This class present any user in the application.
 */
public class UserVO
{
    //---------------------------------
    // Presonal
    //---------------------------------

    public var firstName:String;
    public var lastName:String;
    public var password:String;
    public var email:String;



    public var authorized:Boolean = false;

    /**
     * Logins is an alias for user default log.
     */
    public var login:String;


    //---------------------------------
    // Accounting
    //---------------------------------

    public var inBalance:Number;
    public var outBalance:Number;


    //---------------------------------
    // Localization
    //---------------------------------

    /**
     * Country code getted from flash vars.
     */
    public var countryCode:String = "";

    /**
     * Default currency retrived from dictionary by countryCode.
     */
    public var defaultCurrency:String;

    /**
     *  Degault wallet
     */
    public var defaultWallet:String;


    //---------------------------------
    //  Application
    //---------------------------------

    /**
     *  Calculated in application. Don't saved to server. Used currencies
     *
     *  @see LogProxy
     */
    public var usedCurrencies:Object /* of String */ = {};

    /**
     *  Calculate in application. Don't saved to server. Setted by LogProxy
     *
     *  @see LogProxy
     */
    public var usedTags:Object /* of String */ = {};

    /**
     * Calculated in application when log loaded from server.
     */
    public var usedWallets:Object /* of Records */ = {};

    /**
     * Account cration date is a date of first entered record.
     */
    public var createAccountDate:Date = null;
}
}
